home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
151-175
/
scopedisk155
/
qed
/
appendix.txt
< prev
next >
Wrap
Text File
|
1995-03-19
|
26KB
|
645 lines
QED
Version 1.0
Preliminary Docs
8/31/90
Copyright 1988-1990 by Darren M. Greenwald
All rights reserved
Appendix notes
======================================================================
APPENDIX CONTENTS
======================================================================
1.) Text Editing Windows (defaults, inheritence, and more)
2.) QED Requesters (special features, short cuts, etc.)
3.) QED and the clipboard.device (special notes, unit #'s, etc.)
4.) Exporting text (things to be aware of)
5.) Entering binary characters (how to do this)
6.) Block & Column marking (special notes)
7.) Default key mapping (a table of information)
8.) Notes on 2.0 compatability (information)
*** SPECIAL NOTE ***
There is a distinction between an Amiga process, and an Amiga task.
It turns out that the terminology "task" is more common than "process".
For this reason the following documentation may use the former
terminology; it is assumed that those who understand the distinction also
understand the former terminology.
======================================================================
QED TEXT EDITING WINDOWS
======================================================================
QED allows you to work with multiple files, and text editing buffers
in the form of multiple text editing windows. There is no significant
performance penalty for opening multiple windows, and it is more efficient
then running QED as multiple editing tasks.
Each window can be set-up independently of the others, though you can
share data between text editing windows by way of the clipboard.device, or
intermediate files.
Some things to beaware of about QED windows -
Becareful not to confuse NEW windows with those opened by another QED
task. Windows opened with the NEW command belong to a single QED task, and
run as a single Amiga task. However you can still share data between
windows opened by another QED task.
NEW windows can be set-up with a variety of independent text editing
options, however some options are global to a QED task. For example, the
option to use the ARP file requester is global, meaning that all NEW
windows opened by a QED task will be affected by this option.
NEW windows will be opened with some default settings unless you
change those settings manually, or by way of a macro.
When you select an item from the pull-down menus, the item affects the
the window from which the command was issued. The same is true of QED's
command mode; commands affect only one window at a time.
NEW windows inherit settings from previous windows. Window defaults,
and inheritence are listed below.
NEW window defaults -
- A 1024 byte initial text editing buffer.
- Pen color 1.
- Paper color 0.
- Paper/Pen color combination 1.
- Border/Detail pen color combination 1.
- Hard tab size of 8.
- Right margin 75.
- Left margin 1.
- Mark block mode off.
- Mark column mode off.
- Visible linefeeds off.
- Visible hard tabs off.
- Slider gadget off.
- Use character $AB for visible linefeeds.
- Use character $B7 for visible hard tabs.
- Text editing is allowed.
- Preserve marked block off.
- Bookmark position is line 1, column 1.
- No path, or file name.
- Single, and double mouse clicks are handled in the default manner.
- Horizontal scrolling is set to even multiples of 8 characters.
- Overstrike mode off.
- Word wrap on.
- Margin lock off.
- Auto Indent off.
- Block line mode off.
- Free cursor movement on.
- Tab key insert mode on.
- Soft tabs off.
- Append mode saves off.
- Backup files off.
- Create icons off if started from the CLI.
- Create icons on if started from the Workbench.
- Detab saves, and print OFF.
- Window is opened full screen size a few pixels below the title bar.
- Case sensitive searches OFF.
- Forward search mode TRUE.
New windows inherit these options from the previous window -
- Pen, and paper colors.
- Pen/Paper present combination value.
- Border/Detail pen present combination value.
- Visible linefeeds, and hard tab flags.
- Tab size.
- Margin settings.
- Horizontal scroll amount.
- Proportional slider gadget flag.
- Character values to use for visible linefeeds, and hard tabs.
- Editable flag.
- Preserve marked blocks flag.
- Path name.
- Overstrike mode flag.
- Word wrap mode flag.
- Margin lock mode flag.
- Auto indent mode flag
- Block line mode flag.
- Free cursor movement mode flag.
- Tab insert mode flag.
- Soft tabs mode flag.
- Append mode saves flag.
- Backup files mode flag.
- Create icons mode flag.
- Detab saves, and print mode flag.
- Window is opened slightly smaller then the previous window.
- Case sensitive search flag.
- Forward/Backward search direction flag.
======================================================================
QED REQUESTERS
======================================================================
QED's requesters are all automatically adjusted to make use of your
system font. All requesters are opened in draggable windows, so you move
them out of your way, and the position where you last left them is
remembered for the duration of the text editing session.
QED's requesters use standard Amiga gadgets. As a reminder, you can
use the mouse to position the cursor within string gadgets. You can also
clear the gadget by pressing RIGHT AMIGA X, and undo any changes with RIGHT
AMIGA Q.
String gadgets allow you to edit the contents of the gadget using the
cursor left/right keys, DELETE key, BACKSPACE key, and SHIFTED cursor keys
to move to the end, or beginning of the line.
Keyboard shortcuts:
-----------------------------------------------------------------
Within QED, pressing RETURN within a string gadget will move the
cursor to the next field, or be considered equivalent to clicking on the OK
gadget.
Pressing SHIFT-RETURN within a string gadget will activate the
next/previous string gadget if any. If there is only one string gadget, it
is deactivated.
Pressing ALT-RETURN within a string gadget deactives the string
gadget.
Pressing RETURN, SHIFT-RETURN, or ALT-RETURN will activate a string
gadget if no string gadget is currently active.
Note that if a string gadget is NOT activated, you can use the
keyboard to respond to requesters. For example, press the 'o' key
for OK, or the 'c' key for CANCEL.
Within QED's file requester you can use the 't' key for TOGGLE,
or the 'p' key for PARENT.
Within the Search & Replace requesters, you can use the
'a' key to toggle case sensitive search mode on/off, and the
'f', or 'b' key to toggle between forward/backward search modes.
Requester types:
-----------------------------------------------------------------
File requester -
The file requester allows you to easily move through sub-directories,
and select a file name. QED's file requester has been designed to be as
small as possible so that it doesn't get in your way.
Like most Amiga file requesters, the file names, and directories are
displayed in a scrollable list. The list of file names, and directories is
read from disk into memory, however you do not have to wait for the entire
directory to be read before selecting a file name, or changing the
directory path.
QED's file requester dynamically allocates memory for the directory
listing, so directories of virtually any size are supported.
A gadget labeled TOGGLE toggles between the directory listing, and
a list of devices in your system.
The gadget labeled FILE: is automatically activated, so often you can
just type in a file name, and press RETURN without having to use the mouse.
You can also select a file name with the mouse by double clicking on the
name, or single clicking on the name, and OK gadget.
By default QED's file requester shows the first 8 files, or
sub-directories found on disk. The list of names is not further modified
until you click on, or drag the scroll bar. This allows you to position
the scroll bar before the entire directory has been read, and select a
name with the mouse.
If you have a fast hard-drive, you can toggle this behavior such that
the list of names is automatically redisplayed in sorted order when the
entire directory has been read into memory. Note that while some find
this desireable, it also turns out that you almost have to wait for the
entire directory to be read. The reason for this is the list of names is
likely to change on you just as you are about to select a name with the
mouse.
Search -
This requester is displayed when you select "Search..." from the
pull-down menus. It waits for you to enter a seach string, and press
RETURN. You may also enter the search string, and click on the OK, or
CANCEL gadgets without pressing RETURN.
Two other gadgets allow you to select case-sensitive, or non
case-sensitive search modes as well as forward, or backward search modes.
Search & Replace -
This requester is displayed when you select "Replace..." from the
pull-down menus. It waits for you to enter a seach string, press RETURN,
then waits for you to enter the replace string. You can then press RETURN
again, or click on the OK, or CANCEL gadgets without pressing RETURN.
Two other gadgets allow you to select case-sensitive, or non
case-sensitive search modes as well as forward, or backwards search modes.
Notices -
Notices are small windows displaying a one line message, and a gadget
labeled OK. You can also respond to notices by pressing the 'o' key on the
keyboard.
Info -
The ABOUT requester is an example of an INFO requester. Like notices,
you can respond to INFO requesters by clicking on the OK gadget, or
pressing 'o' on the keyboard.
Queries -
Like notices, a query requester displays a one line message, but it
gives you an opportunity to respond with OK, or CANCEL. You can also
respond to these requesters by pressing 'o', or 'c' on the keyboard.
Numeric -
Numeric requesters display a one line message, and wait for you to
enter a number from the keyboard. If the string gadget is not activated,
you can also respond to numeric gadgets by pressing 'o', or 'c' on the
keyboard.
String -
String requesters display a one line message, and wait for you to
enter a string of text from the keyboard. If the string gadget is not
activated, you can also respond to string gadgets by pressing 'o', or 'c'
on the keyboard.
======================================================================
QED AND THE CLIPBOARD.DEVICE
======================================================================
QED by default makes use of the clipboard.device to hold blocks, and
columns of text which have been cut, or copied. If you are using the 1.3,
or 2.0 clipboard.device, it is suggested you include these two lines in
your startup-sequence.
makedir ram:clipboards
assign clips: ram:clipboards
QED will not open the clipboard.device until the first time you
perform an operation which needs it. Because the clipboard.device is
traditionally a disk-based module (stored in the DEVS: directory), this
menas the first time you cut, or copy a block/column of text, you will
notice that QED has to load the clipboard.device from disk.
The clipboard.device will frequently save any "clips" to the CLIPS:
directory, which is by default assigned to your DEVS:clipboards directory.
While some people find this irritating, it does mean that blocks of text
are flushed from memory regularly, and retained in the clipboard files. If
you direct CLIPS: to something more permanent then RAM:, you will find your
last copied, or cut block of text is still there next time you boot your
machine.
By default, QED uses the shared clipboard (unit 0) for blocks of text,
and clipboard (unit 1) for columns of text. You can change the unit
numbers used for blocks, and columns of text via QED's command mode. What
this does is allow you to share blocks, and columns of text between QED
task without mixing the two. In both cases the text is written to the
clipboard in simple IFF TEXT format so you can shared data with other
programs which use the clipboard.device.
As you can change the unit numbers used by a QED task, you have the
ability to share columns with other Amiga programs via the shared clipboard
unit 0. The clipboard.device is also useful in an ARexx environment in
which you want to share data with another program using an agreed upon set
of clipboard unit number(s).
Columns of text are written as lines of text terminated with
LINEFEEDS, where each line is padded with trailing spaces as needed so that
it can be reinserted later retaining the columner width of each line.
However you can insert any piece of text placed in the clipboard in
columner format. If the lines have not been padded with spaces by the
application writing the IFF TEXT clip, then they are inserted "as is"
without regards to final appearance. In some cases this may be desireable,
but in most cases it is preferrable to only insert columns copied, or cut
from within QED.
You have the option of not using the clipboard.device in QED, in which
case all blocks, and columns of text cut, copied, or pasted are managed by
QED in QED's own private clipboard. Typically this option is used when you
want to keep your clips private to a QED process, or if you have some
personal grudge against using the Amiga clipboard.device.
***NOTE***
The clipboard.device as of 1.3 still has a known bug in it. It will
lose a little over 500 bytes of memory each time data is written to it.
Because this is a bug with the clipboard.device itself, no attempt has
been made to compensate for this problem. Very likely this bug with the
clipboard.device will be fixed in the future.
======================================================================
EXPORTING TEXT
======================================================================
Text can be exported to other Amiga programs by way of the Amiga
clipboard.device, or files. Amiga Compilers, the CLI batch file mechanism,
ARexx, and Amiga text file readers can use files created with QED without
any modifications. Most telecommunication services also send, and receive
standard ASCII files, however there are three things you'll want to be
aware of -
Hard Tabs -
Not all programs are equipped to deal with hard tabs, especially
resizeable hard tabs which requires a lot of extra logic to display
properly. Many programs which do allow hard tabs in files assume correctly
that hard tabs stops are set to even multiples of 8 columns.
For maximum portability, you should work with hard tab stops set to
even multiples of 8 columns, or you can detab your files when saving them.
End of lines -
Because QED is an Amiga oriented program, it uses standard Amiga
linefeeds (binary 10) for end-of-line characters. You may also use binary
0's for end-of-line characters within QED; a feature which has been added
for Amiga programmers.
Other systems may use some other character, or characters for
end-of-lines. Most common are cairrage returns (binary 13), and cairrage
return / linefeed combinations. You can use QED's fast global search, and
replace to convert between any end-of-line combinations that you want,
saving intermediate files for uploading to a telecommunication service, or
other system.
Binary characters -
Even though you can work with binary characters in QED, other programs
may trip over characters outside of the standard ASCII character set.
======================================================================
ENTERING BINARY CHARACTERS
======================================================================
QED is a text editor, however you can open, insert, and save "binary"
files. When QED reads files from disk, it reads the entire contents of the
file into memory without stripping, or modifying anything. The same thing
is true when writing files, except when you have selected to detab output.
In this case all hard tabs (binary 9) would be converted to whatever
number of spaces are needed.
QED utilizes your system font, and it is worth noting that AMIGA fonts
generally do not contain character definitions for the complete binary
character set 0-255. Most system fonts only have character imagery for
binary 32-255, and possibly a smaller subset of characters. Undefined
characters are displayed using a default image (usually a box).
In order to compensate, QED's fast text rendering routines can display
the characters "@" through "_" in inverted imagery to represent binary
0-31. If you have turned the fast text rendering routines off from the
command mode, then you may have to use an extended system font in order to
display these characters.
You can also enter these characters from the keyboard by holding down
the CTRL key, and pressing the following keys on the keyboard:
@ = binary 0 (CTRL SHIFTED 2) p = binary 16
a = binary 1 q = binary 17
b = binary 2 r = binary 18
c = binary 3 s = binary 19
d = binary 4 t = binary 20
e = binary 5 u = binary 21
f = binary 6 v = binary 22
g = binary 7 w = binary 23
h = binary 8 x = binary 24
i = binary 9 (Hard tab) y = binary 25
j = binary 10 (Line feed) z = binary 26
k = binary 11 [ = binary 27
l = binary 12 \ = binary 28
m = binary 13 (Cairrage ret) ] = binary 29
n = binary 14 ^ = binary 30 (CTRL SHIFTED 6)
o = binary 15 _ = binary 31 (CTRL SHIFTED -)
The above sequences rely on the standard operating system routines to
decode the keyboard, however you can assign key values to any keyboard
combination of your choice from the command mode. Of course you can also
assign whole strings of text which may include binary control sequences to
a key press combination.
Most Amiga keymaps also support the ability to enter a variety of
extended characters by pressing the ALT key, and another key, or keys.
These combinations are not listed here.
***NOTE*** See the 2.0 compatability appendix entry below!
======================================================================
BLOCK & COLUMN MARKING
======================================================================
QED allows you to mark blocks, and columns of text. Mark mode
is transparent; that is to say that you can continue to edit text, move
the cursor keys, run macros, etc., while marking a block, or column.
When marking a block of text:
-----------------------------
The cursor position may not be in the marked block. This may
seem confusing at first, but what it allows you to do is
position the cursor on the beginning of a line, and move
the cursor up, or down, only marking whole lines of text.
It turns out that including the cursor position within the block
in most cases requires MORE work on your part. Also you will
find that QED's handling of marked block range works out
very well when using the NEXT/PREVIOUS word feature to move
the cursor.
It is also possible to mark a range of text in which there
are no real characters. For example, if free form editing
is turned on, you could move the cursor past the end of a line,
and mark a from left->right. However, if there are no
characters in the area marked, attempts to cut, or copy
this area will return an error message.
Some experimentation is encouraged so that you will get a feel
for how this mode works.
When marking a column of text:
------------------------------
When marking a column of text, the cursor position is ALWAYS
included within the column. However note that once again
it is quite possible to mark a column of text in which
there are no real characters.
Some experimentation is encouraged so that you will get a feel
for how this mode works.
Note that some of QED's features are context sensitive. For
example, SAVE AS can aslo be used to save a marked block, or marked
column.
The following features can be limited to a MARKED BLOCK
-------------------------------------------------------
SAVE AS
REPLACE ALL
PRINT
STRIP
ERASE
SWAP CASE
FORMAT (SIMPLE FORMATTER ONLY)
INDENT (MARK WHOLE LINE MODE ONLY)
CUT
COPY
The following features can be limited to a MARKED COLUMN
--------------------------------------------------------
SAVE AS
REPLACE ALL
PRINT
ERASE
SWAP CASE
CUT
COPY
======================================================================
DEFAULT KEY MAPPING
======================================================================
The following keys have been assigned default commands.
Key Press | Action
----------------------------------------------------------------------
RETURN | Splits a line at the cursor position by inserting
| a linefeed at the cursor position. If the cursor
| is already past the end of line, then another
| linefeed is inserted at the end of the current
| line, effectively inserting an empty line.
| Auto-Indent, and a variety of other options
| can affect the behavior of this operation.
|
ENTER | Insert a new line below the cursor.
| Auto-Indent, and a variety of other options
| can affect the behavior of this operation.
|
SHIFT RETURN | Behaves like the ENTER key.
|
SHIFT ENTER | Behaves like the RETURN key.
|
BACKSPACE | Delete character to the left of the cursor.
| If the cursor is on the first column, backspacing
| can be used to join two lines, effectively
| deleting the previous end of line character.
|
DELETE | Delete the character under the cursor, but not
| end of line characters.
|
ESC | Opens the command mode window.
|
TAB | Inserts a soft/hard tab at the cursor position, or
| moves the cursor to the next tab stop depending
| upon the option settings.
|
CURSOR UP | Move the cursor up one line.
|
CURSOR DOWN | Move the cursor down one line.
|
CURSOR RIGHT | Move the cursor right one character. The cursor may
| wrap to the beginning of the next line if free cursor
| movement is off. Margin locking can also affect the
| behavior of all cursor keys.
|
CURSOR LEFT | Move the cursor left one character. Cursor may
| wrap up to the end of the previous line. Margin
| locking can affect the behavior of all cursor keys.
|
SHIFT CURSOR | Move cursor up one window page.
UP |
|
SHIFT CURSOR | Move cursor down one window page.
DOWN |
|
SHIFT CURSOR | Move cursor to beginning of next word.
RIGHT |
|
SHIFT CURSOR | Move cursor to end of previous word.
LEFT |
|
ALT CURSOR | Move cursor to first line of window text.
UP |
|
ALT CURSOR | Move cursor to last line of window text.
DOWN |
|
ALT CURSOR | Move cursor to end of line.
RIGHT |
|
ALT CURSOR | Move cursor to beginning of line.
LEFT |
|
CTRL CURSOR | Move cursor to top of window.
UP |
|
CTRL CURSOR | Move cursor to last line of window.
DOWN |
----------------------------------------------------------------------
***NOTE***
The ALT, and SHIFTED cursor key combinations do NOT conform
to the new style guide standards. This has been done to maintain
consistency with previous versions of QED; the default mapping of
these keys may change in the future.
======================================================================
2.0 COMPATABILITY
======================================================================
QED 1.0 is compatable with version 2.0 of the Amiga Operating
system, however it currently does not require 2.0, nor does it
fully take advantage of any 2.0 specific features.
This allows you to use QED 1.0 for development under a 1.3
environment. A 2.0 specific version is planned in the near future.
QED 1.0 color selection is optimized for those running 1.3.
Font handling has been modified to provide a high degree of
compatability with 2.0 font selection capabilities.
When running under version 2.0 of the operating system, QED uses
your default screen font, which is the same font used by CLI
windows to render text.
***SPECIAL NOTE***
You will not be able to enter control characters in the
search, and replace requesters unless you turn "Text Gadget
Filtering" off under the IControl Preferences editor.